package com.resys.service;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.resys.entity.dto.MtroomDto;
import com.resys.entity.dto.OrderDto;
import com.resys.entity.query.MeetingroomQuery;
import com.resys.entity.po.Meetingroom;
import com.resys.entity.vo.PaginationResultVO;
import com.resys.entity.vo.StatusVo;
import jdk.net.SocketFlow;


/**
 *  业务接口
 */
public interface MeetingroomService {

	/**
	 * 根据条件查询列表
	 */
	List<Meetingroom> findListByParam(MeetingroomQuery param);

	/**
	 * 根据条件查询列表
	 */
	Integer findCountByParam(MeetingroomQuery param);

	/**
	 * 分页查询
	 */
	PaginationResultVO<Meetingroom> findListByPage(MeetingroomQuery param);

	/**
	 * 新增
	 */
	Integer add(Meetingroom bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<Meetingroom> listBean);

	/**
	 * 批量新增/修改
	 */
	Integer addOrUpdateBatch(List<Meetingroom> listBean);

	/**
	 * 多条件更新
	 */
	Integer updateByParam(Meetingroom bean,MeetingroomQuery param);

	/**
	 * 多条件删除
	 */
	Integer deleteByParam(MeetingroomQuery param);

	/**
	 * 根据RoomId查询对象
	 */
	Meetingroom getMeetingroomByRoomId(Integer roomId);


	/**
	 * 根据RoomId修改
	 */
	Integer updateMeetingroomByRoomId(Meetingroom bean,Integer roomId);


	/**
	 * 根据RoomId删除
	 */
	Integer deleteMeetingroomByRoomId(Integer roomId);


	/**
	 * 根据Name查询对象
	 */
	Meetingroom getMeetingroomByName(String name);


	/**
	 * 根据Name修改
	 */
	Integer updateMeetingroomByName(Meetingroom bean,String name);


	/**
	 * 根据Name删除
	 */
	Integer deleteMeetingroomByName(String name);


	void updateStatus(MtroomDto mtroomDto);

	OrderDto dispatchOrder(OrderDto orderDto);

	List<StatusVo> showStatus(Integer roomId, Date startDate, Date endDate);
}